package Logica;

import DAO.InvoicedDao;

import java.sql.Date;

public class Invoiced {
  //Primary Key
  private int numberI;
  //Attributes  
  private float  OwnerNumber;
  private Date inicialDia;
  private Date esperadaPaga;
  private Date pago;
  private String formaPago;
  private float totalPagado;
  private String estado;
  
  InvoicedDao id=new InvoicedDao();
    
  public Invoiced() {
  }

  public Invoiced(float OwnerNumber, Date inicialDia, Date esperadaPaga,
                  Date pago, String formaPago, float totalPagado,
                  String estado, int numberI) {
    super();
    this.OwnerNumber = OwnerNumber;
    this.inicialDia = inicialDia;
    this.esperadaPaga = esperadaPaga;
    this.pago = pago;
    this.formaPago = formaPago;
    this.totalPagado = totalPagado;
    this.estado = estado;
    this.numberI = numberI;
  }

  public void setOwnerNumber(float OwnerNumber) {
    this.OwnerNumber = OwnerNumber;
  }

  public float getOwnerNumber() {
    return OwnerNumber;
  }

  public void setInicialDia(Date inicialDia) {
    this.inicialDia = inicialDia;
  }

  public Date getInicialDia() {
    return inicialDia;
  }

  public void setEsperadaPaga(Date esperadaPaga) {
    this.esperadaPaga = esperadaPaga;
  }

  public Date getEsperadaPaga() {
    return esperadaPaga;
  }

  public void setPago(Date pago) {
    this.pago = pago;
  }

  public Date getPago() {
    return pago;
  }

  public void setFormaPago(String formaPago) {
    this.formaPago = formaPago;
  }

  public String getFormaPago() {
    return formaPago;
  }

  public void setTotalPagado(float totalPagado) {
    this.totalPagado = totalPagado;
  }

  public float getTotalPagado() {
    return totalPagado;
  }

  public void setEstado(String estado) {
    this.estado = estado;
  }

  public String getEstado() {
    return estado;
  }

  public void setNumberI(int numberI) {
    this.numberI = numberI;
  }

  public int getNumberI() {
    return numberI;
  }
  
  public Object[][] DarDatosGuiFACTURA() {
    Object[][] datos = new Object[100][100];
    datos = id.DatosFacturaTabla();
    return datos;
  }

  public boolean modificaDiaInicial(String nuevodia, String NumInv) {

    int numInv1 = Integer.valueOf(NumInv);
    Date fechin = Date.valueOf(nuevodia);
    return id.modificaDiaInicial(numInv1, fechin );
  }

  public boolean modificaFechaEsperada(String esperada, String NumInv) {
    int numInv1 = Integer.valueOf(NumInv);
    Date esperada1 =Date.valueOf(esperada);
    return id.modificaFechaEsperada(numInv1, esperada1);
  }

  public boolean modificaFechaPago(String pago, String NumInv) {
    int NumInv1 = Integer.valueOf(NumInv);
    Date pago1 = Date.valueOf(pago);
    return id.modificaFechaPago(NumInv1, pago1);
  }

  public boolean modificaOwnerNum(String NumInv, String OwnerNum) {
    int NumInv1 = Integer.valueOf(NumInv);
    int OwnerNum1 =Integer.valueOf(OwnerNum);
    return id.modificaOwnerNum(NumInv1, OwnerNum1);
  }

  public boolean modificaEstado(String NumInv, String estado) {
    //modificaTreatmentExaNum(nuevoNoEx,NumTreat);
    int NumInv1 = Integer.valueOf(NumInv);
    return id.modificaStatus(NumInv1, estado);
  }

  public boolean modificaTotal(String NumInv, String total) {
    int NumInv1 = Integer.valueOf(NumInv);
    float total1=Float.valueOf(total);
    return id.modificaTotal(NumInv1, total1);
  }

  public boolean modificaTypePay(String NumInv, String tipo) {
    int NumInv1 = Integer.valueOf(NumInv);
    return id.modificaTypePay(NumInv1, tipo);

  }
  
  public boolean creaInvoiced( String OwnerNumber, String inicialDia, String esperadaPaga,
                                 String pago, String formaPago,String totalPagado,String estado ) {
   
    System.out.println("Entre crea inv"); 
   
    int Onum=Integer.valueOf(OwnerNumber);
    System.out.println(Onum+"Onum");
    Date din=Date.valueOf(inicialDia);
    System.out.println(din+"din");
    Date esperada=Date.valueOf(esperadaPaga);
    System.out.println(esperada+"esperada");
    Date pago1 = null;
    if(pago != null){
    pago1=Date.valueOf(pago);
    }
    float total = Float.valueOf(totalPagado);
    System.out.println(total+"total");
    System.out.println("retornare");
    return id.creaInv(Onum,din,esperada,pago1,formaPago,total,estado);

  }
  
  public boolean EliminarTratamiento(String NumInv){
    return id.eliminarFactura(Integer.valueOf(NumInv));   
    
  }

}
